package com.mashibing.juc.c_000;

import java.util.concurrent.TimeUnit;

/**
 * 线程的历史-—部对于CPU性能压榨的历史
 * (1) 单进程人工切换
 * -织带机
 * (2) 多进程批处理
 * -多个任务批量执行
 * (3) 多进程并行处理
 * -把程序写在不同的内存位置上来回切换
 * (4) 多线程
 * -个程序内部不同任务的来回切换
 * -selector -epoll
 * (5) 纤程/协程
 * -绿色线程,用户管理的(而不是OS管理的)线程
 *
 * 进程：操作系统分配资源的基本单位(资源分配的基本单位)
 * 线程:一个程序中不同的执行路径(调度执行的基本单位)
 */
public class T01_WhatIsThread {
    private static class T1 extends Thread {
        @Override
        public void run() {
           for(int i=0; i<10; i++) {
               try {
                   TimeUnit.MICROSECONDS.sleep(1);
               } catch (InterruptedException e) {
                   e.printStackTrace();
               }
               System.out.println("T1");
           }
        }
    }

    public static void main(String[] args) {
        //new T1().run();
        new T1().start();
        for(int i=0; i<10; i++) {
            try {
                TimeUnit.MICROSECONDS.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("main");
        }

    }
}
